#include "planner/normalizer.h"

#include <memory>

#include "planner/logical_operators.h"
#include "planner/optimizer_defs.h"

namespace optimizer {

Normalizer::Normalizer(std::shared_ptr<Operator> op_tree) {
  parent_ = std::make_shared<Operator>(OperatorType::LeafOperator, op_tree);
}

std::shared_ptr<Operator> Normalizer::Normalize() {
  parent_->GetChildren()[0]->Accept(this);
  return parent_->GetChildren()[0];
}

void Normalizer::Visit(LogicalGet *logical_get) {}

List *Normalizer::ExprRewriter(List *expr) {
  return expr;
}

}  // namespace optimizer